package com.tanjun.mallservice.web.service;

import com.mybatisflex.core.service.IService;
import com.tanjun.mallservice.apiservice.enums.plu.PluImgModeEnum;
import com.tanjun.mallservice.apiservice.enums.plu.PluImgTypeEnum;
import com.tanjun.mallservice.web.orm.entity.MallPluImg;
import org.springframework.lang.Nullable;

import jakarta.validation.constraints.NotNull;
import java.util.List;

/**
 * @author jjtan
 * @description 针对表【mall_plu_img(商品图片)】的数据库操作Service
 * @createDate 2024-03-21 14:42:17
 */
public interface MallPluImgService extends IService<MallPluImg> {
    /**
     * 根据pluId和skuId获取图片
     *
     * @param pluId   商品id
     * @param skuId   规格id
     * @param imgType 图片类型
     * @param imgMode 图片模式
     * @return 返回图片
     */
    List<String> listImg(@NotNull Long pluId,
                         @Nullable Long skuId,
                         @NotNull PluImgTypeEnum imgType,
                         @NotNull PluImgModeEnum imgMode);

    /**
     * 根据pluId获取图片
     *
     * @param pluId 商品id
     * @return 返回图片
     */
    List<MallPluImg> listImgByPluId(@NotNull Long pluId);

    /**
     * 批量保存图片
     *
     * @param list
     */
    void saveImgs(@NotNull List<MallPluImg> list);
}
